<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        //promise()对象 异步编程的解决方案
        let p = new Promise(function (resolve, reject) {
            // resolve   reject   是两个回调函数 不能同时调用
            // resolve()   p.then  代表成功
            // reject()    p.catch  代表失败
            setTimeout(function(){
                resolve(123123)
            },3000)

        })
        p.then(function (q) {//还可以传值  then写形参  resolve写实参
            console.log("执行了then",q);

        })//代表成功
        p.catch(function () {
            // console.log("执行了catch");
            alert('请求出错')
            
        })//代表失败
        // p.finally()


        function onefun() {
            and.then(function(id){

            })
        }

        // .then()   代表成功
        // .catch()  代表失败
        // .finally()  代表无论成功还是失败都会执行

        // promise  对象 还有三种状态
        // pending(待定)   当你初始化一个promise时就是待定
        // fulfilled(成功) 当你调用 resolve方法 就会从待定变为成功  注意不可逆
        // let a= new Promise()function(resolve,reject)resolve()}
        // rejected(失败)  当你调用 reject方法 就会从待定变为失败  注意不可逆
        // let a= new Promise()function(resolve,reject){reject()}
        // 一点变为成功或者失败就不会再更改了
    </script>
</body>

</html>